package com.yidu.action;


import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.yidu.common.Pages;
import com.yidu.common.Tools;
import com.yidu.domain.ListenPurchase;
import com.yidu.domain.ListenPurchaseDetail;
import com.yidu.domain.ListenQualityTesting;
import com.yidu.domain.ListenRawstockRecord;
import com.yidu.service.ListenPurchaseDetailService;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Controller;

/**
 * @title 采购订单明细Controller类 
 * @author 刘武
 * @dateTime 2019年1月14日
 */
@Controller
@RequestMapping("/listenPurchaseDetail")
public class ListenPurchaseDetailController {
	@Resource
	ListenPurchaseDetailService  purchaseDetailService;
	/**
	 * 显示采购详情
	 * @param purchaseDetail 采购订单详情对象
	 * @return map map对象
	 */
	@RequestMapping("/findAll")
	@ResponseBody
	public Map<String,Object> findAll(ListenPurchaseDetail purchaseDetail){
		//判断获取过来的分页是否为空
		if(purchaseDetail.getPage()!=null && purchaseDetail.getLimit()!=null) {
			//新建一个工具类
			Pages page=new Pages();
			//工具类当前行数
			page.setCurPage(purchaseDetail.getPage());
			//工具类每页最大显示条数
			page.setMaxResult(purchaseDetail.getLimit());
			//采购订单详情对象开始的行数
			purchaseDetail.setFirstRows(page.getFirstRows());
			//采购订单详情对象开始的行数
			purchaseDetail.setMaxResult(page.getMaxResult());
		}
		//new 一个map对象
		Map<String,Object> map=new HashMap<>();
		//显示采购详情
		List<ListenPurchaseDetail> list=purchaseDetailService.findAll(purchaseDetail);
		//显示采购详情的行数
		int rows=purchaseDetailService.findRows(purchaseDetail);
		map.put("code", 0);
		map.put("msg", "");
		map.put("count",rows);
		map.put("data", list);
		//返回map
		return map;
		
	}
	/**
	 * 通过业务id查询出库存数量
	 * @param vocationalWorkIds 业务id
	 * @return int 库存数量
	 */
	@RequestMapping("/findByVocationalWorkId")
	@ResponseBody
	public int findByVocationalWorkId(String vocationalWorkIds){
		//通过业务id查询出库存数量
		int rows=purchaseDetailService.findByVocationalWorkId(vocationalWorkIds);
		//返回rows
		return rows;
	}
	/**
	 * 通过订单id查询订单详情集合
	 * @param purchaseId 订单id
	 * @return list 详情集合
	 */
	@RequestMapping("/findByPurchaseId")
	@ResponseBody
	public List<ListenPurchaseDetail> findByPurchaseId(String purchaseId){
		List<ListenPurchaseDetail> list=purchaseDetailService.findByPurchaseId(purchaseId);
		return list;
		
	}
	/**
	 * @title 显示材料采购订单
	 * @param ListenPurchase
	 * @return Map
	 * @author 江宇
	 * @dateTime 2018年12月10日
	 * @versions 1.0
	 */
	@RequestMapping("materialDetailFindAll")
	@ResponseBody
	public Map<String,Object> materialDetailFindAll(ListenPurchaseDetail pd){
		Map<String,Object> map=new HashMap<>();
		//如果采购订单ID不为空赋值
		if(!Tools.isEmpty(pd.getPurchaseId())) {
			map.put("purchaseId", pd.getPurchaseId());
		}
		//如果采购材料名称不为空赋值
		if(!Tools.isEmpty(pd.getPdName())) {
			map.put("pdName", pd.getPdName());
		}
		//如果前台传来的页数和行数不为空赋值
		if(pd.getPage()!=null && pd.getLimit()!=null) {
			Pages page=new Pages();
			page.setCurPage(pd.getPage());
			page.setMaxResult(pd.getLimit());
			
			map.put("firstRows", page.getFirstRows());
			map.put("maxResult", page.getMaxResult());
		}
		//调用查询材料订单明细的方法
		List<ListenPurchaseDetail> list=purchaseDetailService.materialDetailFindAll(map);
		//调用查询材料订单明细行数的方法
		int rows=purchaseDetailService.materialDetailFindRows(map);
		
		Map<String,Object> layUiMap=new HashMap<>();
		layUiMap.put("code", 0);
		layUiMap.put("msg", "");
		layUiMap.put("count",rows);
		layUiMap.put("data", list);

		return layUiMap;
		
	}
	
	/**
	 * 删除
	 * @param purchasepurchaseDetail 订单详情对象
	 * @return int类型
	 */
	@RequestMapping("delete")
	@ResponseBody
	public int delete(ListenPurchaseDetail purchaseDetail){
		int rows=purchaseDetailService.delete(purchaseDetail);
		return rows;
	}
	/**
	 * 显示立即质检的方法
	 * @param qualityTesting 质检对象
	 * @return map Map对象
	 */
	@RequestMapping("/findPurchaseDetail")
	@ResponseBody
	public Map<String,Object> findPurchaseDetail(ListenPurchaseDetail purchaseDetail ){
		//新建一个map
		Map<String, Object> map=new HashMap<>();
		//判断转过来的采购id是否为空
		if(!Tools.isEmpty(purchaseDetail.getPurchaseId())) {
			//赋值给采购id
			map.put("purchaseId",purchaseDetail.getPurchaseId());
		}
		//判断获取过来的分页是否为空
		if(purchaseDetail.getPage()!=null && purchaseDetail.getLimit()!=null) {
			//新建一个工具类
			Pages page=new Pages();
			//工具类当前行数
			page.setCurPage(purchaseDetail.getPage());
			//工具类每页最大显示条数
			page.setMaxResult(purchaseDetail.getLimit());
			//map赋值开始的行数
			map.put("firstRows", page.getFirstRows());
			//map赋值每页最大显示条数
			map.put("maxResult", page.getMaxResult());
			
		}
		//显示立即质检的方法
		List<ListenPurchaseDetail> list=purchaseDetailService.findQualityAll(map);
		//显示立即质检的方法行数
		int rows=purchaseDetailService.findQualityRows(map);
		//新建一个map
		Map<String, Object> maps=new HashMap<>();
		maps.put("code", 0);
		maps.put("msg", "");
		maps.put("count",rows);
		maps.put("data", list);
		//返回map
		return maps;
		
	}
}

